$(function() {
	var $tabList = $("#tab_list"), $pagebar = $("#pagebar ul"), $pageInfo = $("#page_info"), pageNo = 1, pageSize = 10, count = 0;// 初始值
	/** ---------------封装分页方法,count:总条目数,pageNo:当前页--------------- */
	function pageit(count) {
		$pagebar.empty();
		// 首页和上一页
		if (pageNo == 1) {
			$pagebar
					.append("<li id='start_page' class='disabled'><a href='javascript:void(0);'>首页</a></li>");
			$pagebar
					.append("<li id='prev_page'  class='disabled'><a href='javascript:void(0);'>上一页</a></li>");
		} else {
			$pagebar
					.append("<li id='start_page' pn=1><a href='javascript:void(0);'>首页</a></li>");
			$pagebar.append("<li id='prev_page' pn=" + (pageNo - 1)
					+ "><a href='javascript:void(0);'>上一页</a></li>");
		}
		var tmp = parseInt(count / 10);
		var page_size = count % 10 == 0 ? (tmp) : (tmp + 1);// 总页数
		// 中间数字页
		if (page_size <= 5) {
			// 如果小于5页,则全部显示
			for ( var i = 0; i < page_size; i++) {
				if (i == pageNo - 1) {
					$pagebar.append("<li pn=" + (i + 1)+ " class='active'><a href='javascript:void(0);'>"+ (i + 1) + "</a></li>");
				} else {
					$pagebar.append("<li pn=" + (i + 1)+ "><a href='javascript:void(0);'>" + (i + 1)+ "</a></li>");
				}
			}
		} else {
			// 如果总页数大于5页,显示当前页和前后各两页以及两个...符号
			if (pageNo < 3) {
				for ( var i = 0; i < 5; i++) {
					if (i == pageNo - 1) {
						$pagebar.append("<li pn="+ (i + 1)+ " class='active'><a href='javascript:void(0);'>"+ (i + 1) + "</a></li>");
					} else {
						$pagebar.append("<li pn=" + (i + 1)+ "><a href='javascript:void(0);'>" + (i + 1)+ "</a></li>");
					}
				}
				$pagebar.append("<li class='disabled'><a href='javascript:void(0);'>...</a></li>");
			} else if (pageNo > page_size - 2) {
				$pagebar.append("<li class='disabled'><a href='javascript:void(0);'>...</a></li>");
				for ( var i = page_size - 5; i < page_size; i++) {
					if (i == pageNo - 1) {
						$pagebar.append("<li pn="+ (i + 1)+ " class='active'><a href='javascript:void(0);'>"+ (i + 1) + "</a></li>");
					} else {
						$pagebar.append("<li pn=" + (i + 1)+ "><a href='javascript:void(0);'>" + (i + 1)+ "</a></li>");
					}
				}
			} else {
				for ( var i = pageNo - 3; i < pageNo + 2; i++) {
					if (i == pageNo - 1) {
						$pagebar.append("<li pn="+ (pageNo)+ " class='active'><a href='javascript:void(0);'>"+ (i + 1) + "</a></li>");
					} else {
						$pagebar.append("<li pn=" + (i + 1)+ "><a href='javascript:void(0);'>" + (i + 1)+ "</a></li>");
					}
				}
			}
		}
		// 下一页和末页
		if (page_size == 0 || pageNo == page_size) {
			$pagebar
					.append("<li id='next_page' class='disabled'><a href='javascript:void(0);'>下一页</a></li>");
			$pagebar
					.append("<li id='end_page' class='disabled'><a href='javascript:void(0);'>末页</a></li>");
		} else {
			$pagebar.append("<li id='next_page' pn=" + (pageNo + 1)
					+ "><a href='javascript:void(0);'>下一页</a></li>");
			$pagebar.append("<li id='end_page' pn=" + page_size
					+ "><a href='javascript:void(0);'>末页</a></li>");
		}

		// 绑定事件
		$pagebar.find("li").not(".disabled").on("click", function() {
			pageNo = parseInt($(this).attr("pn"));// 更新当前页码
			reloadList();
		});
		// 分页信息条
		$pageInfo.find("span").each(function(i, k) {
			if (i == 0) {
				if (page_size == 0) {
					$(k).html(0);
				} else {
					$(k).html((pageNo - 1) * 10 + 1);
				}
			} else if (i == 1) {
				$(k).html(count > pageNo * 10 ? pageNo * 10 : count);
			} else {
				$(k).html(count);
			}
		});
	}

	/** ------------------加载列表--------------------- */
	var params = {
		"pageNo" : 1,
		"pageSize" : pageSize,
		"suName":null,
		"suAddman":null
	};
	function reloadList() {
		params.pageNo = pageNo;
		params.pageSize = pageSize;
		params.suName =$("#search_name").val();
		params.suAddman =$("#search_Addman").val();
		$.get(serverURL + "su/list",params,function(data) {
			try {
				if (data.code == 0) {
					data = data.data;
					$tabList.find("tbody").empty();
					count = data.pagination.totalCount;
					if (count > 0) {
						var html = "";
						$.each(data.list,function(i, k) {
							html += "<tr>"+ 	
								"<td id='pkc'><input type='checkbox' id='"+ k.suName+ "' class='checkbox' col='"+ i+ "'></td>"+ 
								"<td>"+ ((pageNo - 1)* 10+ i + 1)+ "</td>"+
								"<td>"+ k.suName+ "</td>"+ 
								"<td>"+ (k.suLevel ==1? "运维人员":(k.suLevel ==2?"财务人员":"帐号出错"))+ "</td>"+ 
								"<td>"+ k.suAddTime+ "</td>"+ 
								"<td>"+ k.suAddMan+ "</td>"+ 
								"<td>"+ (k.suLastLoginTime?k.suLastLoginTime:"尚未登录")+ "</td>"+ 
							"</tr>";
						});
						$tabList.find("tbody").append(html);
					} else {
						$tabList.find("tbody").append(
								"<tr><td colspan="+ $("thead th").length+ ">无数据</td></tr>");
					}
					pageit(count);// 重绘工具栏
				}else if(data.code!=-1){
					alert("数据加载出错，请稍后重试");
				}
			} catch (e) {
				alert("数据加载出错，请稍后重试");
			}
		});
	}	
	reloadList();
	// 全选与取消全选
	$("#pkall").change(function() {
		if ($(this).prop("checked")) {
			$tabList.find("#pkc :checkbox").prop("checked", true);
		} else {
			$tabList.find("#pkc :checkbox").prop("checked", false);
		}
	});
	// 获取选中的行
	function getSelectedCols() {
		return $tabList.find("#pkc :checkbox").filter(":checked");
	}
	/** ---------------新增----------------- */
	var $formAdd = $("#form_add"), $addName = $formAdd.find("[name=sysName]"), $suLevel = $formAdd.find("[name=sysLevel]");
	function checkAddForm() {
		if (!$addName.val()) {
			warnInput($addName);
			return false;
		}
		if ($addName.val().length > 20) {
			alert("系统用户名字不能超过20个字符");
			return false;
		}
		//验证所输入的为非中文
		if($addName.val().match(/[^\a-\z\A-\Z0-9\_]/g)){
			alert("用户名不符合要求,请重新输入！");
			return false;
		}
		return true;
	}
	$("#btn_confirm_add").click(function() {
		if (checkAddForm()) {
			$.post(serverURL + "su/add", {"suName" : $addName.val(),"suLevel" : $suLevel.val()}, function(data) {
				if (data.code == 0) {
					alert("添加成功");
					$("#modal_add").modal("hide");
					$formAdd.get(0).reset();
					reloadList();
				} else if (data.code == 115) {
					alert("该用户名已经存在，请重新输入！");
				}else if(data.code!=-1){
					alert("添加失败,请稍后重试");
				}
			});
		}
	});
	/*---------------删除-----------------*/
	$("#btn_del").click(function() {
		var $curCol = $tabList.find("#pkc :checkbox").filter(":checked");
		if ($curCol.length < 1) {
			alert("请选择一条记录预览");
			return;
		}
        if (!confirm("确认要删除么？")) {
            return false;
        }
		var suName = "";
		$.each($curCol,function(i, k) {
			suName +=k.id+",";
		});
		suName = suName.substring(0, suName.lastIndexOf(","));

		$.get(serverURL + "su/delete", {"suName" : suName}, function(data) {
			if (data.code == 0) {
				alert("系统用户删除成功 !");
				reloadList();
			} else {
				alert("系统用户删除失败");
			}
		});
	});
/*	$("#btn_del").click(function() {
		var $curCol = $tabList.find("#pkc :checkbox").filter(":checked");
		if ($curCol.length != 1) {
			alert("请选择一条记录预览");
			return;
		}
		var suName = $curCol[0].id;
		$.get(serverURL + "su/delete", {"suName" : suName}, function(data) {
			if (data.code == 0) {
				alert("删除成功");
				reloadList();
			}else if(data.code!=-1){
				alert("信息修改失败");
			}
		});
	});*/
	/** ---------------查询----------------- */
	$("#btn_search").click(function() {
		params.name = $("#search_name").val();
		params.duty = $("#search_duty").val();
		pageNo=1;
		reloadList();
		return false;
	});
	/** ---------------重置----------------- */
	$("#btn_reset").click(function() {
		$("#form_search").get(0).reset();
		pageNo=1;
		reloadList();
		return false;
	});
	/** ---------------权限管理----------------- */
	var $formAuth=$("#form_auth"),suName=null;
	$("#sel_all").change(function(){
		if($(this).is(':checked')){
			$formAuth.find(":checkbox").prop("checked","checked");
		}else{
			$formAuth.find(":checkbox").prop("checked","");
		}
	});
	$("#btn_auth").click(function(){
		var $curCol = getSelectedCols();
		if ($curCol.length != 1) {
			alert("请选择一条记录进行操作");
			return;
		}
		suName=$curCol[0].id;
		$.get(serverURL+"su/permission/load?suName="+suName,function(data){
			$formAuth.get(0).reset();
			if(data.code==0){
				$("#modal_permission").modal("show");
				if(data.data){
					var ps=data.data.permissions.split(",");
					for(var i in ps){
						$formAuth.find("[name="+ps[i]+"]").prop("checked","checked");
					}
				}
			}else if(data.code!=-1){
				alert("权限加载失败，请重试");
			}
		});
	});
	$("#btn_confirm_auth").click(function(){
		var checks=$formAuth.serializeArray(),pers="";
		for(var i in checks){
			pers+=checks[i].name+",";
		}
		if(pers.length>0){
			pers=pers.substring(0,pers.length-1);
		}
		$.post(serverURL+"/su/modifyPermission",{"permissions":pers,"suName":suName},function(data){
			if(data.code==0){
				alert("权限修改成功");
				$("#modal_permission").modal("hide");
			}else if(data.code!=-1){
				alert("修改失败，请稍后重试");
			}
		});
	});
});